Web-Service API - Beispiel: Beleg weiterverarbeiten
Als Beispiel verarbeiten wir einen Wareneingang in eine WE-Kalkulation.
Zunächst müssen wir die Methode ForwardReceipt aufrufen.
/REST/ForwardReceipt{ "Ticket": "[Ticket]", "TrimResponse": 0, "Data": { "ForwardData": { "CreateReceiptData": { "IgnoreCallbacks": true }, "CreateReceiptItemsFromExistingItemsData": { "IgnoreCallbacks": true }, "IgnoreCallbacks": true }, "OnlyTakeoverAvailableQuantity": true, "OriginReceipts": [ { "ReceiptI3D": 23302, "ReceiptKind": 8 } ], "ReceiptKind": 18, "TakeoverOptions": 1 }}
| Eigenschaft | Beschreibung |
|---|---|
| ForwardData | Die Objekte müssen hier zugewiesen werden. Wenn wir die Eigenschaft IgnoreCallbacks auf True setzen, vereinfachen wir uns den Vorgang. |
| OnlyTakeoverAvailableQuantity | Es wird nur die noch nicht weiterverarbeitete Stückzahl übernommen. |
| OriginReceipts | Enthält die Belege die weiterverarbeitet werden sollen. In unserem Beispiel wird ein Wareneingang (ReceiptKind=8) mit der I3D 23302 weiterverarbeitet. Durch die optionale Liste ReceiptItemI3Ds können direkt die Positionen festgelegt werden, die weiterverarbeitet werden sollen. |
| ReceiptKind | Gibt an in welche Belegart weiterverarbeitet werden soll. In unserem Beispiel WE-Kalkulation (18). |
| TakeoverOptions | 0 = Kopie |
| 1 = per Referenz |
Wenn der Vorgang erfolgreich war, erhalten wir ein Objekt von dem gewünschten Typen zurück. In unserem Beispiel ReceiptSupplierInvoiceDTO.
Anschließend können wir nach belieben das Objekt bearbeiten. Das Objekt wird an die Methode SaveReceipt zum finalen Speichern übergeben.
/REST/SaveReceipt{ "Ticket": "[Ticket]", "TrimResponse": 0, "Data": { "AutoLockIfNewReceipt": false, "Receipt": {RECEIPT DATA}, "SaveData": { "IgnoreCallbacks": true } }}
Auch bei dieser Methode ist es wichtig dass SaveData ein Objekt zugewiesen wird.